Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📖 Add examples and bundles section #618

Merged
merged 21 commits into from
Jan 11, 2023
Merged

📖 Add examples and bundles section #618

merged 21 commits into from
Jan 11, 2023

Conversation

mudler
Copy link
Member

@mudler mudler commented Jan 6, 2023

Signed-off-by: mudler [email protected]

Fixes: #48

Adds examples:

  • Single node
  • Multi-node cluster
  • Multi node cluster with HA (moved from Advanced section)
  • single-node cluster with P2P
  • multi-node cluster with P2P
  • multi-node cluster with P2P and KubeVIP
  • use the Kairos core image to deploy k3s
  • use bundles
  • Update p2p config reference
  • Example of how to use a bundle in the example section (link to advanced/build, copy-paste example)

@netlify
Copy link

netlify bot commented Jan 6, 2023

Deploy Preview for kairos-io ready!

Name Link
🔨 Latest commit af4c5b9
🔍 Latest deploy log https://app.netlify.com/sites/kairos-io/deploys/63bedfccdc94b00008047348
😎 Deploy Preview https://deploy-preview-618--kairos-io.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@mudler mudler self-assigned this Jan 7, 2023
Signed-off-by: mudler <[email protected]>
@mudler mudler changed the title 📖 Add examples 📖 Add examples, bundles section, webui Jan 9, 2023
Signed-off-by: mudler <[email protected]>
Signed-off-by: mudler <[email protected]>
Signed-off-by: mudler <[email protected]>
@mudler
Copy link
Member Author

mudler commented Jan 10, 2023

I'll leave the webui docs once we have a release for it

@mudler mudler requested a review from a team January 10, 2023 14:11
@mudler
Copy link
Member Author

mudler commented Jan 10, 2023

Just some rephrasing left and we are good to go

@mudler
Copy link
Member Author

mudler commented Jan 10, 2023

Opened #627 for the webui docs

@mudler mudler changed the title 📖 Add examples, bundles section, webui 📖 Add examples and bundles section Jan 10, 2023
Signed-off-by: mudler <[email protected]>
Signed-off-by: mudler <[email protected]>

Kairos supports three types of bundles:

- *Container*: This type is a bare container that simply contains files that need to be copied to the system. It is useful for copying over configuration files, scripts, or any other static content that you want to include on your system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about bold instead of italics?


- *Package*: This type is a [luet](https://luet.io) package that will be installed in the system. It requires the luet repository definition in order to work. Luet packages are a powerful way to manage dependencies and install software on your system.

Note: In the future, Kairos will also support a local type for use in airgap situations, where you can pre-add bundles to the image before deployment.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe put this in an alert?

@@ -45,7 +45,7 @@ c58930881bc4: Pushed
...
```

You can use your custom image with the `kairos-agent upgrade` command, or with the [system-upgrade-controller in Kubernetes](/docs/upgrade/kubernetes). Here's how to use the `kairos-agent` command:
You can use your custom image when [upgrade nodes manually](/docs/upgrade/manual), [with Kubernetes](/docs/upgrade/kubernetes) or [specifying it in the cloud-config during installation](/docs/examples/core). Here's how to do it manually with the `kairos-agent` command:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe when upgrading nodes manually ?


bundles:
- targets:
- run://<image>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the <image> used here is the same as the tag in 123 but if I understand correctly here i need the full path e.g. quay.io/kairos/community-bundles:metallb_latest

- We set `install.image` to the container image that we want to deploy. This can be an image from [our support matrix](/docs/reference/image_matrix), a [custom image](/docs/advanced/customizing) or an [image from scratch](/docs/reference/build).
- After the installation is complete, the configuration in the `k3s` block will take effect. This is because after the installation, the system will boot into the image specified in the `install.image` field, which in the example above is an image with the Kairos K3s provider, as such the configuration in the k3s block will become active.

With these steps, you should now be able to use Kairos core images as an installer to deploy other container images. The process is straightforward and gives you the flexibility to customize your deployments and build custom images as needed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this also mean that we can now make the provider images smaller, providing only the additional files, excluding the OS filesystem already provided by the core image?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could - however we should start to think about implications during upgrades if we go down that path

Copy link
Member Author

@mudler mudler Jan 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and for that I'd rather have an interface around CAPI to handle all of this transparently, but we aren't there yet


We will use the [k3s manifest method](/docs/reference/configuration#kubernetes-manifests) to deploy `MetaLB`.

To get started, you'll need to use the [provider-kairos](https://github.com/kairos-io/provider-kairos) artifacts, which include k3s. We'll be using the [k3s manifest method](/docs/reference/configuration#kubernetes-manifests) to deploy MetalLB.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

backlink to the "bundle" method as an alternative?

args:
- --disable=traefik,servicelb

# Additional manifests that are applied by k3s on boot
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part has nothing to do with the single node cluster setup right? I think we already demonstrated this metallb setup here: https://github.com/kairos-io/kairos/pull/618/files#diff-e23d6395ab8483864c81358c557904814cd5a78f16193e2b086363638a188fde

jimmykarily
jimmykarily previously approved these changes Jan 11, 2023
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
mudler and others added 10 commits January 11, 2023 13:05
Co-authored-by: Mauro Morales <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Signed-off-by: mudler <[email protected]>
Signed-off-by: mudler <[email protected]>
@mudler
Copy link
Member Author

mudler commented Jan 11, 2023

Re-adapted to your feedback @jimmykarily and @mauromorales 👍

@mudler mudler merged commit 1cb4996 into master Jan 11, 2023
@mudler mudler deleted the examples branch January 11, 2023 17:01
@mudler mudler mentioned this pull request Jan 11, 2023
21 tasks
oz123 pushed a commit that referenced this pull request Jan 17, 2023
* 📖 Add examples

Signed-off-by: mudler <[email protected]>

* 📖 Add Bundles docs

Signed-off-by: mudler <[email protected]>

* 📖 Update config reference for p2p block

Signed-off-by: mudler <[email protected]>

* 📖 Add Fedora and Debian images, update status

Signed-off-by: mudler <[email protected]>

* 📖 Add bundles and core sections

Signed-off-by: mudler <[email protected]>

* 📖 Rephrase

Signed-off-by: mudler <[email protected]>

* 📖 Rephrase

Signed-off-by: mudler <[email protected]>

* 📖 Add p2p samples

Signed-off-by: mudler <[email protected]>

* 📖 Rephrase

Signed-off-by: mudler <[email protected]>

* 📖 Rephrase

Signed-off-by: mudler <[email protected]>

* Update docs/content/en/docs/Advanced/bundles.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/multi-node-p2p-ha-kubevip.md

Co-authored-by: Mauro Morales <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/bundles.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/multi-node-p2p-ha-kubevip.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/multi-node-p2p.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/multi-node.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/multi-node-p2p-ha.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Examples/single-node.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update docs/content/en/docs/Reference/configuration.md

Co-authored-by: Dimitris Karakasilis <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* 📖 Review

Signed-off-by: mudler <[email protected]>

* 📖 Review

Signed-off-by: mudler <[email protected]>

Signed-off-by: mudler <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Dimitris Karakasilis <[email protected]>
Co-authored-by: Mauro Morales <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Documentation: bundles
3 participants